// CallMeWhen Ç…ÇÊǡǃÉCÉìÉXÉgÅ[ÉãÇ≥ÇÍÇÈîƒópÉRÅ[ÉãÉoÉbÉNä÷êî
// pascal void MyQTCallBackProc(QTCallBack cb, long refCon);
pascal void MyDoSomethingCallBack(QTCallBack cb, long refCon)
{
MyAppDataPtr myStuff;
if (NULL == refCon) return;
myStuff = (MyAppDataPtr)refCon;
myStuff->didSomething = true;
return;
}
// callBackAtExtremes ÉtÉâÉOÇΔ triggerAtStop ÉtÉâÉOÇ≈ãNìÆÇ∑ÇÈ
// ÉRÅ[ÉãÉoÉbÉNÇÃÉZÉbÉgÉAÉbÉv
// MyDoSomethingCallBack ä÷êîÇÕÅAäÓèÄéûä‘é≤Ç™í‚é~Ç∑ÇÈÇΔ
// åƒÇ—èoÇ≥ÇÍÇÈ
OSErr SetUpTriggerAtStopCallBack(MyAppDataPtr inAppData)
{
QTCallBack theQTCallBack;
QTCallBackUPP theCallBackUPP;
OSErr err = paramErr;
theQTCallBack = NewCallBack(GetMovieTimeBase(inAppData->myMovie),
callBackAtExtremes);
if (theQTCallBack) {
theCallBackUPP = NewQTCallBackUPP(MyDoSomethingCallBack);
err = CallMeWhen(theQTCallBack, theCallBackUPP,
inAppData, triggerAtStop, 0, 0);
}
// džÇΔÇ≈ìnÇπÇÈÇÊǧDžDZÇÍÇÁÇï€ë∂
inAppData->myQTCallBack = theQTCallBack;
inAppData->myCallBackUPP = theCallBackUPP;
return err;
}
|